﻿using System;
using System.Collections.Generic;
using ProductFeedbackE = JTLeigh.Commerce.Spencer.Features.ProductFeedback.Common.Entities.ProductFeedback;

namespace JTLeigh.Commerce.Spencer.Features.ProductFeedback.Business.Services
{

	/// <summary>
	/// Service used to retrieve product feedback.
	/// </summary>
	public interface IProductFeedbackRuntimeService
	{

		#region Methods

		/// <summary>
		/// Gets a list of product feedback by product identifier.
		/// </summary>
		/// <param name="tenantId">The tenant identifier <see cref="Guid"/> of the tenant whose 
		/// product feedback is to be retieved.</param>
        /// <param name="catalogId">The catalog identifier <see cref="String"/> of the catalog 
        /// that the product whose product feedback is to be retrieved is in.</param>
        /// <param name="productId">The product identifier <see cref="String"/> of the product
		/// whose product feedback is to be retrieved.</param>
        /// <param name="selectionBehaviorName">The name of the selection behavior to use to select
        /// product feedback.</param>
        /// <returns>An <see cref="IList{T}"/> of <see cref="ProductFeedbackE"/>.</returns>
        IList<ProductFeedbackE> GetProductFeedback(Guid tenantId, string catalogId, string productId, string selectionBehaviorName);

		#endregion // Methods

	}

}
